/* ** por compatibilidad se omiten tildes **
================================================================================
 TRABAJO PRACTICO 3 - System Programming - ORGANIZACION DE COMPUTADOR II - FCEN
================================================================================
  definicion de funciones del scheduler
*/

#ifndef __SCREEN_H__
#define __SCREEN_H__

/* Definicion de la pantalla */
#define VIDEO_FILS 50
#define VIDEO_COLS 80

#include "colors.h"
#include "defines.h"
/* Estructura de para acceder a memoria de video */
typedef struct ca_s {
    unsigned char c;
    unsigned char a;
} ca;

void print(const char * text, unsigned int x, unsigned int y, unsigned short attr);

void print_hex(unsigned int numero, int size, unsigned int x, unsigned int y, unsigned short attr);

void imprimir_todos_los_relojes_zombies();

void imprimir_reloj_zombie_azul(int nZombie);

void imprimir_reloj_zombie_rojo(int nZombie);

void inicializar_datos_pantalla();

void aumentar_puntos_rojo();

void aumentar_puntos_azul();

void imprimir_puntos_rojo();

void imprimir_puntos_azul();

void imprimir_restantes_rojo();

void imprimir_restantes_azul();

void pintar_posicion_zombi_jugador_azul(int pos, char * tipo_zombi_azul);

void pintar_posicion_zombi_jugador_rojo(int pos, char * tipo_zombi_azul);

void borrar_posicion_zombi_jugador_azul(int pos);

void borrar_posicion_zombi_jugador_rojo(int pos);

void pintar_recorrido(int x, int y);

void pintar_zombie_mapa_rojo(int x, int y, char * tipo_zombie);

void pintar_zombie_mapa_azul(int x, int y, char * tipo_zombie);

void disable_reloj_zombie_rojo(int nZombie);

void disable_reloj_zombie_azul(int nZombie);

void avanzar_reloj_zombie_rojo(int nZombie);

void avanzar_reloj_zombie_azul(int nZombie);

void imprimir_zombi_destruido(int x, int y, int color);

void reducir_restantes_rojo();

void reducir_restantes_azul();

unsigned int dame_restantes_rojo();

unsigned int dame_restantes_azul();

void imprimir_contexto_game(unsigned int zombi, unsigned int color, char * descripcion, char * mensaje_excepcion, unsigned int length);

unsigned int esta_mostrando_excepcion();



void restaurar_screen();
#endif  /* !__SCREEN_H__ */
